﻿@model IEnumerable<Controller2.Models.ViewModels.FornecedorViewModel>

@{
    ViewBag.Title = "Consulta de Fornecedor";
}
@if (false)
{
    <script src="../../Scripts/jquery.js" type="text/javascript"></script>
    <script src="../../Scripts/controller.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-vsdoc.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery.validate-vsdoc.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-ui.js" type="text/javascript"></script>
}
@MvcHtmlString.Create(@ViewBag.Pesquisa)
    @(Html.Telerik().Grid<Controller2.Models.ViewModels.FornecedorViewModel>()
    .Name("grdConsulta")
    .Selectable()
        .ClientEvents(events => events.OnRowSelected("onRowSelected")
                                      .OnLoad("Grid_onLoadVerify"))
    .Columns(c =>
    {
		c.Bound(g => g.ID).Title("Código").Width(60).HtmlAttributes(new { style = "text-align: center;" });
		c.Bound(g => g.Nome).Title("Nome");
		c.Bound(g => g.Email).Title("Email").Width(200);
		c.Bound(g => g.Fone).Title("Fone").Width(100);
		c.Bound(g => g.Cidade).Title("Cidade").Width(150);
		c.Bound(g => g.DataCadastro).Title("DataCadastro").Format("{0:dd/MM/yyyy}").Width(90).HtmlAttributes(new { style = "text-align: center;" });
	})
    .TableHtmlAttributes(new { style = "font-size: 8pt;" })
    .DataBinding(d => d
        .Ajax().Select("AjaxGrid", "Fornecedor")
    )
    .PrefixUrlParameters(false)
    .Pageable(p => p.Enabled(true)
        .PageSize(40)
            .Position(GridPagerPosition.Both)
        .Style(GridPagerStyles.NextPreviousAndNumeric | GridPagerStyles.PageInput)
	)
    .Sortable()
    .Scrollable(s => s.Height(340))
    .Filterable(f => f.Enabled(false))
    .Groupable(g => g.Enabled(false))
)
@if ((Boolean)ViewBag.IsInRole)
{    
    <div id="botoesConsulta">
        <input type="button" id="Incluir" value="Novo" />
        <input type="button" id="Alterar" value="Alterar" />
        <input type="button" id="Excluir" value="Excluir" />
    </div>
}
<div id="confirmarExclusao" style="display: none;">
    <p>
        Confirmando esta ação, você apagará este registro do banco de dados, não sendo mais
        possível recuperá-lo.
        <br />
        <br />
        Deseja realmente apagar este registro?</p>
</div>
<div id="alerta" style="display: none;">
    Por favor, selecione um regristro!
</div>
<div id="winForm" style="display: none; overflow: hidden;">
</div>
<div id="alertaErro" style="display: none; overflow: hidden;">
</div>
<script type="text/javascript">
    $(function () {
        $('#txtPesquisa').autocomplete({ source: function (request, response) { $.post('@Url.Action("AutoComplete", "Fornecedor")', { filtro: $('#ComboFiltro').val(), termoPesquisa: request.term }, function (data) { return response(data); }, 'json'); },delay: 100, minLength: 1 });
    });
    $('#btnPesquisa').click(function (e) {
        showLoading(); e.preventDefault(); pesquisa();
    });
    function pesquisa() {
        var texto = $('#txtPesquisa').val(); var filtro = $('#ComboFiltro').val(); var url = '@Url.Action("Pesquisa", "Fornecedor")'; $.post(url, { texto: texto, filtro: filtro }, function (result) { gridRebind('grdConsulta'); hideLoading(); });
    }
    $('#Incluir').click(function () {
        showLoading(); var url = '@Url.Action("Cadastro")/0'; $('#winForm').empty().load(url); formDialog('winForm', 'Inclusão de Fornecedor', 570, 750); return false;
    });
    $('#Alterar').click(function () {
        showLoading(); if (id === undefined || id === '') { alertDialog('alerta', '', 120, 250); hideLoading(); return false; } else { alterar(id); id = undefined; }
    });
    function alterar(id) {
        var url = '@Url.Action("Cadastro")/' + id; $('#winForm').empty().load(url); formDialog('winForm', 'Alteração de Fornecedor', 570, 750); return false;
    }
    $('#Excluir').click(function () {
        if (id === undefined || id === '') { alertDialog('alerta', '', 120, 250) } else { confirmDialog('confirmarExclusao', 'excluir', '', '', ''); }
    });
    function excluir() {
        showLoading(); var url = '@Url.Action("Excluir", "Fornecedor")'; $.post(url, { id: id }, function (data) {
            if (data.salvo) { gridRebind('grdConsulta'); } else {
                alertError(data.error);
            } hideLoading();
        });
    }
    function closeWindow() {
        $('#winForm').dialog('close'); gridRebind('grdConsulta'); $("#winForm:ui-dialog").dialog("destroy");
    }
    function Grid_onLoadVerify(e) {
        var isInRole = '@ViewBag.IsInRole'; if (isInRole == 'True') { Grid_onLoad(e, this); }
    }
</script>
